home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Internet Info 1994 March
/
Internet Info CD-ROM (Walnut Creek) (March 1994).iso
/
inet
/
internet-drafts
/
draft-ietf-ifmib-evolution-02.txt
< prev
next >
Wrap
Text File
|
1993-08-11
|
115KB
|
3,304 lines
Draft Interfaces Group Evolution August 1993
Evolution of the Interfaces Group of MIB-II
9 August 1993
Keith McCloghrie
Hughes LAN Systems
kzm@hls.com
Frank J. Kastenholz
FTP Software
kasten@ftp.com
Status of this Memo
This document is an Internet Draft. Internet Drafts are
working documents of the Internet Engineering Task Force
(IETF), its Areas, and its Working Groups. Note that other
groups may also distribute working documents as Internet
Drafts.
Internet Drafts are valid for a maximum of six months and may
be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet Drafts as reference
material or to cite them other than as a "work in progress".
Expires 8 Feb 1994 [Page 1]
Draft Interfaces Group Evolution August 1993
1. Introduction
MIB-II [4] is the core set of managed objects defined for use
by network management of the Internet suite of protocols.
MIB-II was defined using the SNMPv1 Network Management
Framework.
This memo discusses the 'interfaces' group of MIB-II,
especially the experience gained from the definition of
numerous media-specific MIB modules for use in conjunction
with the 'interfaces' group for managing various sub-layers
beneath the internetwork-layer. It proposes clarifications
to, and extensions of, the architectural issues within the
current model used for the 'interfaces' group.
This memo also includes a MIB module. As well as including
new MIB definitions to support the architectural extensions,
this MIB module also re-specifies the 'interfaces' group of
MIB-II in a manner which is both compliant to the SNMPv2 SMI
and semantically-identical to the existing SNMPv1-based
definitions.
1.1. Change Log
This section tracks changes made to the revisions of the
Internet Drafts of this document. It will be deleted when the
document is published as an RFC.
19 July/9 August 1993
The following changes were made for the version of the
document dated 9 August 1993. These changes are listed in no
particular order.
(1) Additional text clarifying the meaning of "higher layer
protocol" has been added.
(2) Per the working group meeting in Amsterdam, a statement
was added stating that the 32 bit counters will always be
available and, when 64-bit counters are in use, will
report the least significant 32 bits of the 64 bit
counters.
Expires 8 Feb 1994 [Page 2]
Draft Interfaces Group Evolution August 1993
(3) Per the working group meeting in Amsterdam, strengthened
the wording of Section 3.2.3 "Virtual Circuits" that
recommends that entries in the ifTable not be assigned to
connections.
(4) Per the working group meeting in Amsterdam, added text to
Section 3.2.3 "Virtual Circuits" that requires that the
MIB designer present rationale if entries in the ifTable
are assigned to connections.
(5) Per the working group meeting in Amsterdam, ifOutQLen has
been deprecated.
(6) Per the working group meeting in Amsterdam,
ifExtnsPromiscuous has been retained in the extension of
the ifTable.
(7) Per the working group meeting in Amsterdam,
ifExtnsRevWare and ifExtnsChipSet were deleted from the
MIB on the basis that their exact use is very unclear.
It is quite possible in many interface architectures to
"mix and match" chipsets and drivers, leading to
ambiguity as to the intended contents of these objects.
(8) Per the working group meeting in Amsterdam, the
ifExtnsTestTable has been replaced with the ifTestTable.
(9) Per the working group meeting in Amsterdam, the text
describing the ifTest group's implementation status has
been altered to reflect the fact that a media-specific
mib should use the ifTestTable for any tests it defines,
and therefore may make implementation of the group
mandatory.
(10) Per the working group meeting in Amsterdam, 2 interface
speed steps for using 64 bit counters are specified. The
first is for using 64-bit octet counters. The second is
for using 64-bit packet counters.
(11) Per the working group meeting in Amsterdam, the 64-bit
error counters have been removed.
(12) Per the working group meeting in Amsterdam, a section has
been added that provides the rationale for the default
setting specified for ifLinkUpDownTrapEnable.
Expires 8 Feb 1994 [Page 3]
Draft Interfaces Group Evolution August 1993
(13) The semantics of ifSpecific have been tightened up, to
recommend the use of the semantics of InstancePointer,
even though the SYNTAX isn't changed so as to: not
require deprecating it, and not make existing
implementations non-compliant.
(14) The ifTable has been split into two tables. The first
table contains all objects that were in the original
ifTable. The second table contains all objects that have
been added by this MIB.
(15) In the ifTestTable, the use of ifTestCommunity (and
ifTestContext which would also have been required for
SNMPv2) and ifExtnsTestRequestId objects have been
replaced by the new ifTestId, ifTestStatus, and
ifTestOwner objects.
(16) Some new enumerated values for ifType have been added.
(17) The compliance statements have been updated so that
support for the 'testing(3)' value of ifAdminStatus is
not required.
(18) Several ASN.1 and SMI errors were fixed.
(19) Several spelling and grammar errors were fixed.
Expires 8 Feb 1994 [Page 4]
Draft Interfaces Group Evolution August 1993
2. The SNMPv2 Network Management Framework
The SNMPv2 Network Management Framework consists of four major
components. They are:
o RFC 1442 which defines the SMI, the mechanisms used for
describing and naming objects for the purpose of
management.
o RFC 1213 defines MIB-II, the core set of managed objects
for the Internet suite of protocols.
o RFC 1445 which defines the administrative and other
architectural aspects of the framework.
o RFC 1448 which defines the protocol used for network
access to managed objects.
The Framework permits new objects to be defined for the
purpose of experimentation and evaluation.
2.1. Object Definitions
Managed objects are accessed via a virtual information store,
termed the Management Information Base or MIB. Objects in the
MIB are defined using the subset of Abstract Syntax Notation
One (ASN.1) defined in the SMI. In particular, each object
object type is named by an OBJECT IDENTIFIER, an
administratively assigned name. The object type together with
an object instance serves to uniquely identify a specific
instantiation of the object. For human convenience, we often
use a textual string, termed the descriptor, to refer to the
object type.
Expires 8 Feb 1994 [Page 5]
Draft Interfaces Group Evolution August 1993
3. Experience with the Interfaces Group
One of the strengths of internetwork-layer protocols such as
IP [6] is that they are designed to run over any network
interface. In achieving this, IP considers any and all
protocols it runs over as a single "network interface" layer.
A similar view is taken by other internetwork-layer protocols.
This concept is represented in MIB-II by the 'interfaces'
group which defines a generic set of managed objects such that
any network interface can be managed in an interface-
independent manner through these managed objects. The
'interfaces' group provides the means for additional managed
objects specific to particular types of network interface
(e.g., a specific medium such as Ethernet) to be defined as
extensions to the 'interfaces' group for media-specific
management. Since the standardization of MIB-II, many such
media-specific MIB modules have been defined.
Experience in defining these media-specific MIB modules has
shown that the model defined by MIB-II is too simplistic
and/or static for some types of media-specific management. As
a result, some of these media-specific MIB modules have
assumed an evolution/loosening of the model. This memo is a
proposal to document/standardize the evolution of the model
and to fill in the gaps caused by that evolution.
A previous effort to extend the interfaces group resulted in
the publication of RFC 1229 [7]. As part of defining the
evolution of the interfaces group, this memo applies that
evolution to, and thereby incorporates the RFC 1229
extensions.
3.1. Areas of Clarification/Revision
There are several areas for which experience indicates that
clarification, revision, or extension of the model would be
helpful. The next sections discuss these.
3.1.1. Interface Numbering
MIB-II defines an object, ifNumber, whose value represents:
"The number of network interfaces (regardless of their
Expires 8 Feb 1994 [Page 6]
Draft Interfaces Group Evolution August 1993
current state) present on this system."
Each interface is identified by a unique value of the ifIndex
object, and the description of ifIndex constrains its value as
follows:
"Its value ranges between 1 and the value of ifNumber.
The value for each interface must remain constant at
least from one re-initialization of the entity's network
management system to the next re-initialization."
This constancy requirement on the value of ifIndex for a
particular interface is vital for efficient management.
However, an increasing number of devices allow for the dynamic
addition/removal of network interfaces. One example of this
is a dynamic ability to configure the use of SLIP/PPP over a
character-oriented port. For such dynamic additions/removals,
the combination of the constancy requirement and the
restriction that the value of ifIndex is less than ifNumber is
problematic.
3.1.2. Interface Sub-Layers
Experience in defining media-specific management information
has shown the need to distinguish between the multiple sub-
layers beneath the internetwork-layer. In addition, there is
a need to manage these sub-layers in devices (e.g., MAC-layer
bridges) which are unaware of which, if any, internetwork
protocols run over these sub-layers. As such, a model of
having a single conceptual row in the interfaces table (MIB-
II's ifTable) represent a whole interface underneath the
internetwork-layer, and having a single associated media-
specific MIB module (referenced by the ifSpecific object) is
too simplistic. A further problem arises with the value of
the ifType object which has enumerated values for each type of
interface.
Consider, for example, an interface with PPP running over an
HDLC link which uses a RS232-like connector. Each of these
sub-layers has its own media-specific MIB module. If all of
this is represented by a single conceptual row in the ifTable,
then an enumerated value for ifType is needed for that
specific combination, and that row's ifSpecific variable can
"point" to only one of the three media-specific MIB modules.
Expires 8 Feb 1994 [Page 7]
Draft Interfaces Group Evolution August 1993
Furthermore, even if there was a convention for deciding which
MIB module is referenced by ifSpecific then there is still a
lack of a method to describe the relationship of all the sub-
layers of the MIB stack.
An associated problem is that of upward and downward
multiplexing of the sub-layers. An example of upward
multiplexing is MLP (Multi-Link) which provides load-sharing
over several serial lines by appearing as a single point-to-
point link to the sub-layer(s) above. An example of downward
multiplexing would be several instances of PPP, each running
over a Frame Relay virtual circuit, all of which run over the
same ISDN B channel. The current MIB structure does not allow
for these sorts of relationships to be described.
3.1.3. Virtual Circuits
Several of the sub-layers for which media-specific MIB modules
have been defined are connection oriented (e.g., Frame Relay,
X.25). Experience has shown that each effort to define such a
MIB module revisits the question of whether separate
conceptual rows in the ifTable are needed for each virtual
circuit. Most, if not all, of these efforts to date have
decided to have all virtual circuits reference a single
conceptual row in the ifTable.
3.1.4. Bit and Character Oriented Interfaces
RS-232 is an example of a character-oriented sub-layer over
which (e.g., through use of PPP) IP datagrams can be sent.
Due to the packet-based nature of many of the objects in the
ifTable, experience has shown that it is not appropriate to
have a character-oriented sub-layer represented by a (whole)
conceptual row in the ifTable.
Experience has also shown that it is sometimes desirable to
have some management information for bit-oriented interfaces,
which are similarly difficult to represent by a (whole)
conceptual row in the ifTable. For example, to manage the
channels of a DS1 circuit, where only some of the channels are
carrying packet-based data.
Expires 8 Feb 1994 [Page 8]
Draft Interfaces Group Evolution August 1993
3.1.5. Counter Size
As the speed of network media increase, the minimum time in
which a 32 bit counter will wrap decreases. For example, on
an Ethernet, a stream of back-to-back, full-size packets will
cause ifInOctets to wrap in just over 57 minutes, for a T3
line, the minimum wrap-time is just over 12 minutes, and for
FDDI, it will wrap in 5.7 minutes. For a 1-gigabit medium,
the counter might wrap in as little as 34 seconds. Requiring
that interfaces be polled frequently enough not to miss a
counter wrap will be increasingly problematic.
3.1.6. Interface Speed
Network speeds are increasing. IfSpeed is limited to
reporting a maximum speed of (2**31)-1 bits/second, or
approximately 2.2Gbs. SONET defines an OC-48 interface, which
is defined at operating at 48 times 51 Mbs, which is a speed
in excess of 2.4gbits. Thus, ifSpeed will be of diminishing
utility over the next several years.
3.1.7. Multicast/Broadcast Counters
The counters in the ifTable for packets addressed to a
multicast or the broadcast address, are combined as counters
of non-unicast packets. In contrast, the ifExtensions MIB [7]
defines one set of counters for multicast, and a separate set
for broadcast packets. With the separate counters, the
original combined counters become redundant.
3.1.8. Output Queue
This is a place holder right now for the explanation of any
new congestion and output-q-length goop.
3.2. Clarifications/Revisions
The following clarifications and/or revisions are proposed.
Expires 8 Feb 1994 [Page 9]
Draft Interfaces Group Evolution August 1993
3.2.1. Interface Numbering
One solution to the interface numbering problem would be to
redefine ifNumber to be the largest value of ifIndex, but the
utility of such an object is questionable, and such a re-
definition would require ifNumber to be deprecated. Thus, an
improvement would be to deprecate ifNumber and not replace it.
However, the deprecation of ifNumber would require a change to
that portion of ifIndex's definition which refers to ifNumber.
So, since the definition of ifIndex must be changed anyway in
order to solve the problem, changes to ifNumber do not benefit
the solution.
The solution adopted in this memo is just to delete the
requirement that the value of ifIndex must be less than the
value of ifNumber, and to retain ifNumber with its current
definition. It could be argued that this is a change in the
semantics of ifIndex; however, all existing implementations
conform to this new definition, and in the interests of not
requiring changes in existing implementations and in the many
existing media-specific MIBs, it is proposed that this change
does not require ifIndex to be deprecated.
This solution also results in the possibility of "holes" in
the ifTable, i.e., the ifIndex values of conceptual rows in
the ifTable are not necessarily contiguous, but SNMP's GetNext
(and SNMPv2's GetBulk) operation easily deals with such holes.
The value of ifNumber still represents the number of
conceptual rows, which increases/decreases as new interfaces
are dynamically added/removed. The vital constancy
requirement is met by requiring that after an interface is
dynamically removed, its ifIndex value is not re-used (by
another dynamically added interface) until after the following
re-initialization of the network management system. This
avoids the need for a priori assignment of ifIndex values for
all possible interfaces which might be added dynamically.
Because of the restriction of the value of ifIndex to be less
than ifNumber, interfaces have been numbered with small
integer values. This has led to the ability by humans to use
the ifIndex values as (somewhat) user-friendly names for
network interfaces (e.g., "interface number 3"). With the
relaxation of the restriction on the value of ifIndex, there
is now the possibility that ifIndex values could be assigned
as very large numbers (e.g., memory addresses). Such numbers
Expires 8 Feb 1994 [Page 10]
Draft Interfaces Group Evolution August 1993
would be much less user-friendly. Therefore, this memo
recommends that ifIndex values still be assigned as small
integer values starting at 1, even though the values in use at
any one time are not necessarily contiguous. (Note that this
makes it easy for agents which dynamically add new interfaces,
to remember which values have been assigned.)
This proposed change introduces a new problem of its own.
Previously, there usually was a simple, direct, mapping of
interfaces to the physical ports on systems. This mapping
would be based on the ifIndex value. However, by removing the
previous restrictions on the values allowed for ifIndex, along
with the interface sub-layer concept (see the following
section), mapping from interfaces to physical ports becomes
increasingly problematic.
To address this issue, a new object, ifName, is added to the
MIB. This object contains the device's name for the interface
of which the relevant entry in the ifTable is a component.
For example, if a router has an interface named wan1, which is
composed of PPP running over an RS-232 port, the ifName
objects for the PPP and RS-232 entries in the ifTable will
contain the string "wan1".
3.2.2. Interface Sub-Layers
One possible but not recommended solution to the problem of
representing multiple sub-layers would be to retain the
concept of one conceptual row for all the sub-layers of an
interface and have each media-specific MIB module identify its
"superior" and "subordinate" sub-layers through OBJECT
IDENTIFIER "pointers". The drawbacks of this scheme are: 1)
that the superior/subordinate pointers are contained in the
media-specific MIB modules, and thus, a manager could not
learn the structure of an interface, without inspecting
multiple pointers in different MIB modules; this is overly
complex and only possible if the manager has knowledge of all
the relevant media-specific MIB modules; 2) current MIB
modules would all need to be retrofitted with these new
"pointers"; 3) this scheme does not adequately address the
problem of upward and downward multiplexing; and 4) enumerated
values of ifType are needed for each combination of sub-
layers.
Expires 8 Feb 1994 [Page 11]
Draft Interfaces Group Evolution August 1993
Another possible but not recommended scheme would be to retain
the concept of one conceptual row for all the sub-layers of an
interface and have a new separate MIB table to identify the
"superior" and "subordinate" sub-layers and to contain OBJECT
IDENTIFIER "pointers" to media-specific MIBs. Effectively,
one conceptual row in the ifTable would represent each
combination of sub-layers between the internetwork-layer and
the wire. While this scheme has fewer drawbacks, it would
deprecate the use of ifSpecific and it still does not support
downward multiplexing, such as PPP over MLP: since MLP makes
two (or more) serial lines appear to the layers above as a
single physical interface, PPP over MLP should appear to the
internetwork-layer as a single interface; this scheme,
however, would result in two (or more) conceptual rows in the
ifTable, both of which the internetwork-layer would run over.
This scheme also requires enumerated values of ifType for each
combination of sub-layers.
The solution adopted in this memo is to have an individual
conceptual row in the ifTable to represent each sub-layer, and
have a new separate MIB table (the ifStackTable, see section 5
of this memo) to identify the "superior" and "subordinate"
sub-layers through INTEGER "pointers" to the appropriate
conceptual rows in the ifTable. This solution supports both
upward and downward multiplexing, allows the ifSpecific
pointer in each conceptual row of the ifTable to point to the
media-specific MIB module for that sub-layer, such that the
new table need only be referenced to obtain information about
layering, and it only requires enumerated values of ifType for
each sub-layer, not for combinations of them. However, it
does require that the descriptions of some objects in the
ifTable (specifically, ifType, ifPhysAddress, ifInUcastPkts,
and ifOutUcastPkts) be generalized so as to apply to any sub-
layer (rather than only to a sub-layer immediately beneath the
network layer, as at present), plus some (specifically,
ifSpeed) which need to have appropriate values identified for
use when a generalized definition does not apply to a
particular sub-layer.
In addition, this adopted solution makes no requirement that a
device, in which a sub-layer is instrumented by a conceptual
row of the ifTable, be aware of whether an internetwork
protocol runs on top of (i.e., at some layer above) that sub-
layer.
Expires 8 Feb 1994 [Page 12]
Draft Interfaces Group Evolution August 1993
The designer of a media-specific MIB must decide whether to
divide the interface into sub-layers or not, and if so, how to
make the divisions. The following guidance is offered to
assist the media-specific MIB designer in these decisions.
In general, the number of entries in the ifTable should be
kept to the minimum required for network management. In
particular, a group of related interfaces should be treated as
a single interface with one entry in the ifTable providing
that:
(1) None of the group of interfaces performs multiplexing for
any other interface in the agent,
(2) There is a meaningful and useful way for all of the
ifTable's information (e.g., the counters, and the status
variables), and all of the ifTable's capabilities (e.g.,
write access to ifAdminStatus), to apply to the group of
interfaces as a whole.
Under these circumstances, there should be one entry in the
ifTable for such a group of interfaces, and any internal
structure which needs to be represented to network management
should be captured in a MIB module specific to the particular
type of interface.
Note that application of bullet 2 above to the ifTable's
ifSpecific and ifType objects requires that there is a
meaningful media-specific MIB and a meaningful ifType value
which apply to the group of interfaces as a whole. For
example, it is not appropriate to treat an HDLC sub-layer and
an RS-232 sub-layer as a single ifTable entry when the media-
specific MIBs and the ifType values for HDLC and RS-232 are
separate (rather than combined).
These guidelines are just that, guidelines. The designer of a
media-specific MIB is free to lay out the MIB in whatever
manner is desired.
However, regardless of a media-specific MIB's design, the
designer of a media-specific MIB MUST completely state the
sub-layering model used for the MIB, and provide the
assumptions, reasoning, and rationale used to develop that
model.
Expires 8 Feb 1994 [Page 13]
Draft Interfaces Group Evolution August 1993
In general, the counters of packets/octets received on an
interface are defined as counting the number "delivered to a
higher-layer protocol". This meaning of "higher-layer"
includes delivery to a forwarding module which accepts
packets/frames/octets and forwards them on at the same
protocol layer. For example, for the purposes of this
definition, the forwarding module of a MAC-layer bridge is
considered as a "higher-layer" to the MAC-layer of each port
on the bridge.
3.2.3. Virtual Circuits
This memo strongly recommends that connection-oriented sub-
layers do not have a conceptual row in the ifTable for each
virtual circuit. This avoids the proliferation of conceptual
rows, especially those which have considerable redundant
information. (Note, as a comparison, that connection-less
sub-layers do not have conceptual rows for each remote
address.) There may, however, be circumstances under which it
is appropriate for a virtual circuit of a connection-oriented
sub-layer to have its own conceptual row in the ifTable; an
example of this might be PPP over a Frame Relay virtual
circuit. The MIB in section 5 of this memo supports such
circumstances.
If a media-specific MIB wishes to assign an entry in the
ifTable to each virtual circuit, the MIB designer must present
the rationale for this decision in the media-specific MIB's
specification.
3.2.4. Bit and Character Oriented Interfaces
About half the objects in the ifTable are applicable to every
type of interface: packet-oriented, character-oriented, and
bit-oriented. Of the other half, two are applicable to both
character-oriented and packet-oriented interfaces, and the
rest are applicable only to packet-oriented interfaces. Thus,
while it is desirable for consistency to be able to represent
any/all types of interfaces in the ifTable, it is not possible
to implement the full ifTable for bit- and character-oriented
sub-layers.
One possible but not recommended solution to this problem
Expires 8 Feb 1994 [Page 14]
Draft Interfaces Group Evolution August 1993
would be to split the ifTable into two (or more) new MIB
tables, one of which would contain objects that are relevant
only to packet-oriented interfaces (e.g., PPP), and another
that may be used by all interfaces. This is highly
undesirable since it would require changes in every agent
implementing the ifTable (i.e., just about every existing SNMP
agent).
The solution adopted in this memo builds upon the fact that
compliance statements in SNMPv2 (in contrast to SNMPv1) refer
to object groups, where object groups are explicitly defined
by listing the objects they contain. Thus, in SNMPv2,
multiple compliance statements can be specified, one for all
interfaces and additional ones for specific types of
interfaces. The separate compliance statements can be based
on separate object groups, where the object group for all
interfaces can contain only those objects from the ifTable
which are appropriate for every type of interfaces. Using
this solution, every sub-layer can have its own conceptual row
in the ifTable.
Thus, section 5 of this memo contains definitions of the
objects of the existing 'interfaces' group of MIB-II, in a
manner which is both SNMPv2-compliant and semantically-
equivalent to the existing MIB-II definitions. With
equivalent semantics, and with the BER ("on the wire")
encodings unchanged, these definitions retain the same OBJECT
IDENTIFIER values as assigned by MIB-II. Thus, no rewrite of
existing agents is required.
Three new object groups are defined: the ifGeneralGroup
containing those objects applicable to all types of network
interfaces; the ifCharacterGroup containing those objects
applicable to character-oriented or packet-oriented network
interfaces; and the ifPacketGroup containing those objects
applicable only to packet-oriented network interfaces.
3.2.5. Counter Size
Two approaches to addressing the shrinking minimum counter-
wrap time problem were evaluated. Counters could be scaled,
for example, ifInOctets could be changed to count received
octets in, e.g., 1024 byte blocks. Alternatively, the size of
the counter could be increased.
Expires 8 Feb 1994 [Page 15]
Draft Interfaces Group Evolution August 1993
Scaling the counters was rejected. While it provides
acceptable performance at high count rates, at low rates it
suffers. If there is little traffic on an interface, there
might be a significant interval before enough counts occur to
cause a counter to be incremented. Traffic would then appear
to be very bursty, leading to incorrect conclusions of the
network's performance.
The alternative, which this memo adopts, is to provide
expanded, 64 bit, counters. These counters are provided in
two new groups, the "high capacity" packet counters group
(ifHCPacketGroup) and octet counters group
(ifHCCharacterGroup). These new groups provide new, 64 bit,
counters for use as appropriate.
The old, 32-bit, counters have not been deprecated. The 64-
bit counters are to be used only when the 32-bit counters do
not provide enough capacity; that is, the 32 bit counters
could wrap too fast.
For interfaces that operate at 20,000,000 (20 million) bits
per second or less, 32-bit byte and packet counters MUST be
used. For interfaces that operate faster than 20,000,000
bits/second, and slower than 600,000,000 bits/second, 32-bit
packet counters MUST be used and 64-bit octet counters MUST be
used. For interfaces that operate at 600,000,000 bits/second
or faster, 64-bit packet counters AND 64-bit octet counters
MUST be used.
These speed steps were chosen as reasonable compromises based
on the following:
(1) The cost of maintaining 64-bit counters is relatively
high, so minimizing the number of agents which must
support them is desirable. Common interfaces (such as
Ethernet) should not require them.
(2) 64-bit counters are a new feature, introduced in SNMPv2.
It is reasonable to expect that support for them will be
spotty for the immediate future. Thus, we wish to limit
them to as few systems as possible. This, in effect,
means that 64-bit counters should be limited to higher
speed interfaces. Ethernet (10,000,000 bps) and Token
Ring (16,000,000 bps) are fairly wide-spread so it seems
reasonable to not require 64-bit counters for these
Expires 8 Feb 1994 [Page 16]
Draft Interfaces Group Evolution August 1993
interfaces.
(3) The 32-bit octet counters will wrap in the following
times, for the following interfaces (when transmitting
maximum-sized packets back-to-back):
- Ethernet: 57 minutes,
- 16 megabit Token Ring: 36 minutes,
- A US T3 line (45 megabits): 12 minutes,
- FDDI: 5.7 minutes
(4) The 32-bit packet counters wraps in about 57 minutes when
64-byte packets are transmitted back-to-back on a
600,000,000 bit/second link.
As an aside, a 1-terabit (1,000 gigabits) link will cause
a 64 bit octet counter to wrap in just under 5 years.
Conversely, an 81,000,000 terabit/second link is required
to cause a 64-bit counter to wrap in 30 minutes. We
believe that, while technology rapidly marches forward,
this link speed will not be achieved for at least several
years, leaving sufficient time to evaluate the
introduction of 96 bit counters.
When 64-bit counters are in use, the 32-bit counters MUST
still be available. They will report the low 32-bits of the
associated 64-bit count (e.g., ifInOctets will report the
least significant 32 bits of ifHCInOctets). This enhances
inter-operability with existing implementations at a very
minimal cost to agents.
3.2.6. Interface Speed
In order to deal with increasing interface speeds, we have
added an ifHighSpeed object.
This object reports the speed of the interface in 1,000,000 (1
million) bits/second units. Thus, the true speed of the
interface will be the value reported by this object, plus or
minus 500,000 bits/second.
Expires 8 Feb 1994 [Page 17]
Draft Interfaces Group Evolution August 1993
Other alternatives considered were:
(1) Making the interface speed a 64-bit gauge. This was
rejected since the current SMI does not allow such a
syntax.
Furthermore, even if 64-bit gauges were available, their
use would require additional complexity in agents due to
an increased requirement for 64-bit operations.
(2) We also considered making "high-32 bit" and "low-32-bit"
objects which, when combined, would be a 64-bit value.
This simply seemed overly complex for what we are trying
to do.
Furthermore, a full 64-bits of precision does not seem
necessary. IfHighSpeed will be the only report of
interface speed for interfaces that are faster than
2,147,483,647 bits per second. At this speed, the
granularity of ifHighSpeed will be 1,000,000 bits per
second, thus the error will be 1/2147, or about 0.05%.
This seems reasonable.
(3) Adding a "scale" object, which would define the units
which ifSpeed's value is.
This would require two additional objects; One for the
scaling object and one to replace the current ifSpeed.
This later object is required since the semantics of
ifSpeed would be significantly altered, and manager
stations which do not understand the new semantics would
be confused.
3.2.7. Multicast/Broadcast Counters
To avoid the redundancy of counting all non-unicast packets as
well as having individual multicast and broadcast packet
counters, we deprecate the use of the non-unicast counters,
which can be derived from the values of the others.
For the output broadcast and multicast counters defined in RFC
1229, their definitions varied slightly from the packet
counters in the ifTable, in that they did not count
errors/discarded packets. To align the definitions better,
Expires 8 Feb 1994 [Page 18]
Draft Interfaces Group Evolution August 1993
the old counters are deprecated and replaced by new
definitions. 64-bit versions of these counters are also
needed as explained above.
3.2.8. Output Queue
This is a place holder right now for the explanation of any
new congestion and output-q-length goop.
3.2.9. Trap Enable
In the multi-layer interface model, each sub-layer for which
there is an entry in the ifTable can generate linkUp/Down
Traps. Since interface state changes would tend to propagate
through the interface (from top to bottom, or bottom to top),
it is likely that several traps would be generated for each
linkUp/Down occurrence.
It is desirable to provide a mechanism for manager stations to
control the generation of these traps. To this end, the
ifLinkUpDownTrapEnable object has been added. This object
allows managers to limit generation of traps to just the sub-
layers of interest.
The default setting should limit the number of traps generated
to one per interface per linkUp/Down event. Furthermore, it
seems that the conditions that cause these state changes that
are of most interest to network managers occur at the lowest
level of an interface stack. Therefore we specify that by
default, only the lowest sub-layer of the interface generate
traps.
3.3. Media-Specific MIB Applicability
The exact use and semantics of many objects in this MIB are
open to some interpretation. This is a result of the generic
nature of this MIB. It is not always possible to come up with
specific, unambiguous, text that covers all cases and yet
preserve the generic nature of the MIB.
Therefore, it is incumbent upon a media-specific MIB designer
to, wherever necessary, clarify the use of the objects in this
Expires 8 Feb 1994 [Page 19]
Draft Interfaces Group Evolution August 1993
MIB with respect to the media-specific MIB.
Specific areas of clarification include
Layering Model
The media-specific MIB designer MUST completely and
unambiguously specify the layering model used. Each
individual sub-layer must be identified.
Virtual Circuits
The media-specific MIB designer MUST specify whether
virtual circuits are assigned entries in the ifTable or
not. If they are, compelling rationale must be
presented.
ifTestTable
The media-specific MIB designer MUST specify the
applicability of the ifTestTable.
ifRcvAddressTable
The media-specific MIB designer MUST specify the
applicability of the ifRcvAddressTable.
However, wherever this interface MIB is specific in the
semantics, DESCRIPTION, or applicability of objects, the
media-specific MIB designer MUST NOT change said semantics,
DESCRIPTION, or applicability.
4. The Interface Test Table
The interface test table in this MIB (ifTestTable) replaces
the interface test table defined in RFC1229 [7]. The
significant change made to the table was the replacement of
the ifExtnsTestCommunity (and ifExtnsTestContext which would
also have been required for SNMPv2) and ifExtnsTestRequestId
objects, by the new ifTestId, ifTestStatus, and ifTestOwner
objects.
Expires 8 Feb 1994 [Page 20]
Draft Interfaces Group Evolution August 1993
5. Definitions
IF-MIB DEFINITIONS ::= BEGIN
IMPORTS
MODULE-IDENTITY, OBJECT-TYPE, Counter32, Gauge32,
Integer32, TimeTicks, experimental FROM SNMPv2-SMI
DisplayString, PhysAddress, TruthValue,
RowStatus, AutonomousType, TestAndIncr FROM SNMPv2-TC
MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF
interfaces FROM RFC-1213;
ifMIB MODULE-IDENTITY
LAST-UPDATED "9308082355Z"
ORGANIZATION "IETF Interfaces MIB Working Group"
CONTACT-INFO
" Keith McCloghrie
Hughes LAN Systems
1225 Charleston Road
Mountain View, Ca. 94043
Tel: 415-966-7934
Fax: 415-966-7980
E-mail: kzm@hls.com."
DESCRIPTION
"The MIB module to describe generic objects for
network interface sub-layers. This MIB is an
updated version of MIB-II's ifTable, and
incorporates the extensions defined in RFC 1229."
::= { experimental xx }
ifMIBObjects OBJECT IDENTIFIER ::= { ifMIB 1 }
Expires 8 Feb 1994 [Page 21]
Draft Interfaces Group Evolution August 1993
-- OwnerString has the same semantics as used in RFC 1271
OwnerString ::= TEXTUAL-CONVENTION
DISPLAY-HINT "255a"
STATUS current
DESCRIPTION
"This data type is used to model an
administratively assigned name of the owner of a
resource. This information is taken from the NVT
ASCII character set. It is suggested that this
name contain one or more of the following: IP
address, management station name, network
manager's name, location, or phone number. In
some cases the agent itself will be the owner of
an entry. In these cases, this string shall be
set to a string starting with 'agent'."
SYNTAX OCTET STRING (SIZE(0..255))
Expires 8 Feb 1994 [Page 22]
Draft Interfaces Group Evolution August 1993
ifNumber OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of network interfaces (regardless of
their current state) present on this system."
::= { interfaces 1 }
-- the Interfaces table
-- The Interfaces table contains information on the entity's
-- interfaces. Each sub-layer below the internetwork-layer
-- of a network interface is considered to be an interface.
ifTable OBJECT-TYPE
SYNTAX SEQUENCE OF IfEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of interface entries. The number of
entries is given by the value of ifNumber."
::= { interfaces 2 }
ifEntry OBJECT-TYPE
SYNTAX IfEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry containing management information
applicable to a particular interface."
INDEX { ifIndex }
::= { ifTable 1 }
IfEntry ::=
SEQUENCE {
ifIndex Integer32,
ifDescr DisplayString,
ifType INTEGER,
ifMtu Integer32,
ifSpeed Gauge32,
ifPhysAddress PhysAddress,
ifAdminStatus INTEGER,
ifOperStatus INTEGER,
Expires 8 Feb 1994 [Page 23]
Draft Interfaces Group Evolution August 1993
ifLastChange TimeTicks,
ifInOctets Counter32,
ifInUcastPkts Counter32,
ifInNUcastPkts Counter32, -- deprecated
ifInDiscards Counter32,
ifInErrors Counter32,
ifInUnknownProtos Counter32,
ifOutOctets Counter32,
ifOutUcastPkts Counter32,
ifOutNUcastPkts Counter32, -- deprecated
ifOutDiscards Counter32,
ifOutErrors Counter32,
ifOutQLen Gauge32, -- deprecated
ifSpecific OBJECT IDENTIFIER
}
ifIndex OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A unique value, greater than zero, for each
interface. It is recommended that values are
assigned contiguously starting from 1. The value
for each interface sub-layer must remain constant
at least from one re-initialization of the
entity's network management system to the next
re-initialization."
::= { ifEntry 1 }
ifDescr OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..255))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A textual string containing information about the
interface. This string should include the name of
the manufacturer, the product name and the version
of the interface hardware/software."
::= { ifEntry 2 }
ifType OBJECT-TYPE
SYNTAX INTEGER {
other(1), -- none of the following
Expires 8 Feb 1994 [Page 24]
Draft Interfaces Group Evolution August 1993
regular1822(2),
hdh1822(3),
ddn-x25(4),
rfc877-x25(5),
ethernet-csmacd(6),
iso88023-csmacd(7),
iso88024-tokenBus(8),
iso88025-tokenRing(9),
iso88026-man(10),
starLan(11),
proteon-10Mbit(12),
proteon-80Mbit(13),
hyperchannel(14),
fddi(15),
lapb(16),
sdlc(17),
ds1(18), -- T-1
e1(19), -- european equiv. of T-1
basicISDN(20),
primaryISDN(21), -- proprietary serial
propPointToPointSerial(22),
ppp(23),
softwareLoopback(24),
eon(25), -- CLNP over IP (RFC 1070)
ethernet-3Mbit(26),
nsip(27), -- XNS over IP
slip(28), -- generic SLIP
ultra(29), -- ULTRA technologies
ds3(30), -- T-3
sip(31), -- SMDS
frame-relay(32),
rs232(33),
para(34), -- parallel-port
atm(35), -- ATM cells
sonet(36),
x25ple(37),
miox25(38),
iso88022llc(39)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The type of interface."
::= { ifEntry 3 }
Expires 8 Feb 1994 [Page 25]
Draft Interfaces Group Evolution August 1993
ifMtu OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The size of the largest packet which can be
sent/received on the interface, specified in
octets. For interfaces that are used for
transmitting network datagrams, this is the size
of the largest network datagram that can be sent
on the interface."
::= { ifEntry 4 }
ifSpeed OBJECT-TYPE
SYNTAX Gauge32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"An estimate of the interface's current bandwidth
in bits per second. For interfaces which do not
vary in bandwidth or for those where no accurate
estimation can be made, this object should contain
the nominal bandwidth. If the bandwidth of the
interface is greater than the maximum value
reportable by this object then this object should
report its maximum value (2,147,483,647) and
ifHighSpeed must be used to report the interace's
speed. For a sub-layer which has no concept of
bandwidth, this object should be zero."
::= { ifEntry 5 }
ifPhysAddress OBJECT-TYPE
SYNTAX PhysAddress
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The interface's address at its protocol sub-
layer. The interface's media-specific MIB must
define the bit and byte ordering and format of the
value contained by this object. For interfaces
which do not have such an address (e.g., a serial
line), this object should contain an octet string
of zero length."
::= { ifEntry 6 }
Expires 8 Feb 1994 [Page 26]
Draft Interfaces Group Evolution August 1993
ifAdminStatus OBJECT-TYPE
SYNTAX INTEGER {
up(1), -- ready to pass packets
down(2),
testing(3) -- in some test mode
}
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"The desired state of the interface. The
testing(3) state indicates that no operational
packets can be passed."
::= { ifEntry 7 }
ifOperStatus OBJECT-TYPE
SYNTAX INTEGER {
up(1), -- ready to pass packets
down(2),
testing(3) -- in some test mode
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The current operational state of the interface.
The testing(3) state indicates that no operational
packets can be passed."
::= { ifEntry 8 }
ifLastChange OBJECT-TYPE
SYNTAX TimeTicks
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The value of sysUpTime at the time the interface
entered its current operational state. If the
current state was entered prior to the last re-
initialization of the local network management
subsystem, then this object contains a zero
value."
::= { ifEntry 9 }
ifInOctets OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
Expires 8 Feb 1994 [Page 27]
Draft Interfaces Group Evolution August 1993
DESCRIPTION
"The total number of octets received on the
interface, including framing characters."
::= { ifEntry 10 }
ifInUcastPkts OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of packets, delivered by this sub-
layer to a higher (sub-)layer, which were not
addressed to a multicast or broadcast address at
this sub-layer."
::= { ifEntry 11 }
ifInNUcastPkts OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS deprecated
DESCRIPTION
"The number of packets, delivered by this sub-
layer to a higher (sub-)layer, which were
addressed to a multicast or broadcast address at
this sub-layer.
This object is deprecated in favour of
ifInMulticastPkts and ifInBroadcastPkts."
::= { ifEntry 12 }
ifInDiscards OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of inbound packets which were chosen
to be discarded even though no errors had been
detected to prevent their being deliverable to a
higher-layer protocol. One possible reason for
discarding such a packet could be to free up
buffer space."
::= { ifEntry 13 }
ifInErrors OBJECT-TYPE
SYNTAX Counter32
Expires 8 Feb 1994 [Page 28]
Draft Interfaces Group Evolution August 1993
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of inbound packets that contained
errors preventing them from being deliverable to a
higher-layer protocol."
::= { ifEntry 14 }
ifInUnknownProtos OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of packets received via the interface
which were discarded because of an unknown or
unsupported protocol."
::= { ifEntry 15 }
ifOutOctets OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The total number of octets transmitted out of the
interface, including framing characters."
::= { ifEntry 16 }
ifOutUcastPkts OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The total number of packets that higher-level
protocols requested be transmitted, and which were
not addressed to a multicast or broadcast address
at this sub-layer, including those that were
discarded or not sent."
::= { ifEntry 17 }
ifOutNUcastPkts OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS deprecated
DESCRIPTION
"The total number of packets that higher-level
Expires 8 Feb 1994 [Page 29]
Draft Interfaces Group Evolution August 1993
protocols requested be transmitted, and which were
addressed to a multicast or broadcast address at
this sub-layer, including those that were
discarded or not sent.
This object is deprecated in favour of
ifOutMulticastPkts and ifOutBroadcastPkts."
::= { ifEntry 18 }
ifOutDiscards OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of outbound packets which were chosen
to be discarded even though no errors had been
detected to prevent their being transmitted. One
possible reason for discarding such a packet could
be to free up buffer space."
::= { ifEntry 19 }
ifOutErrors OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of outbound packets that could not be
transmitted because of errors."
::= { ifEntry 20 }
ifOutQLen OBJECT-TYPE
SYNTAX Gauge32
MAX-ACCESS read-only
STATUS deprecated
DESCRIPTION
"The length of the output packet queue (in
packets)."
::= { ifEntry 21 }
ifSpecific OBJECT-TYPE
SYNTAX OBJECT IDENTIFIER
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A reference to MIB definitions specific to the
Expires 8 Feb 1994 [Page 30]
Draft Interfaces Group Evolution August 1993
particular media being used to realize the
interface. It is recommended that this value
point to an instance of a MIB object in the
media-specific MIB, i.e., that this object have
the semantics associated with the InstancePointer
textual convention defined in RFC 1443. If no MIB
definitions specific to the particular media are
available, the value should be set to the OBJECT
IDENTIFIER { 0 0 }."
::= { ifEntry 22 }
--
-- Extension to the interface table
--
-- This table replaces the ifExtnsTable table.
--
ifXTable OBJECT-TYPE
SYNTAX SEQUENCE OF IfXEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of interface entries. The number of
entries is given by the value of ifNumber. This
table contains additional objects for the
interface table."
::= { ifMIBObjects 1 }
ifXEntry OBJECT-TYPE
SYNTAX IfXEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry containing additional management
information applicable to a particular interface."
AUGMENTS { ifEntry }
::= { ifXTable 1 }
IfXEntry ::=
SEQUENCE {
ifName DisplayString,
ifInMulticastPkts Counter32,
ifInBroadcastPkts Counter32,
Expires 8 Feb 1994 [Page 31]
Draft Interfaces Group Evolution August 1993
ifOutMulticastPkts Counter32,
ifOutBroadcastPkts Counter32,
ifHCInOctets Counter64,
ifHCInUcastPkts Counter64,
ifHCInMulticastPkts Counter64,
ifHCInBroadcastPkts Counter64,
ifHCOutOctets Counter64,
ifHCOutUcastPkts Counter64,
ifHCOutMulticastPkts Counter64,
ifHCOutBroadcastPkts Counter64,
ifLinkUpDownTrapEnable INTEGER,
ifHighSpeed Gauge32,
ifPromiscuousMode TruthValue
}
ifName OBJECT-TYPE
SYNTAX DisplayString
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The textual name of the interface. The value of
this object should be the name of the interface as
assigned by the local device and should be
suitable for use in commands entered at the
device's `console'. This might be a text name,
such as `le0' or a simple port number, such as
`1', depending on the interface naming syntax of
the device. If several entries in the ifTable
together represent a single interface as named by
the device, then each will have the same value of
ifName. If there is no local name, or this object
is otherwise not applicable, then this object
contains a 0-length string."
::= { ifXEntry 1 }
ifInMulticastPkts OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of packets, delivered by this sub-
layer to a higher (sub-)layer, which were
addressed to a multicast address at this sub-
layer. For a MAC layer protocol, this includes
Expires 8 Feb 1994 [Page 32]
Draft Interfaces Group Evolution August 1993
both Group and Functional addresses."
::= { ifXEntry 2 }
ifInBroadcastPkts OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of packets, delivered by this sub-
layer to a higher (sub-)layer, which were
addressed to a broadcast address at this sub-
layer."
::= { ifXEntry 3 }
ifOutMulticastPkts OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The total number of packets that higher-level
protocols requested be transmitted, and which were
addressed to a multicast address at this sub-
layer, including those that were discarded or not
sent. For a MAC layer protocol, this includes
both Group and Functional addresses."
::= { ifXEntry 4 }
ifOutBroadcastPkts OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The total number of packets that higher-level
protocols requested be transmitted, and which were
addressed to a broadcast address at this sub-
layer, including those that were discarded or not
sent."
::= { ifXEntry 5 }
--
-- High Capacity Counter objects. These objects are all
-- 64 bit versions of the "basic" ifTable counters. These
-- objects all have the same basic semantics as their 32-bit
-- counterparts, however, their syntax has been extended
-- to 64 bits.
Expires 8 Feb 1994 [Page 33]
Draft Interfaces Group Evolution August 1993
--
ifHCInOctets OBJECT-TYPE
SYNTAX Counter64
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The total number of octets received on the
interface, including framing characters. This
object is a 64-bit version of ifInOctets."
::= { ifXEntry 6 }
ifHCInUcastPkts OBJECT-TYPE
SYNTAX Counter64
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of packets, delivered by this sub-
layer to a higher (sub-)layer, which were not
addressed to a multicast or broadcast address at
this sub-layer. This object is a 64-bit version
of ifInUcastPkts."
::= { ifXEntry 7 }
ifHCInMulticastPkts OBJECT-TYPE
SYNTAX Counter64
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of packets, delivered by this sub-
layer to a higher (sub-)layer, which were
addressed to a multicast address at this sub-
layer. For a MAC layer protocol, this includes
both Group and Functional addresses. This object
is a 64-bit version of ifInMulticastPkts."
::= { ifXEntry 8 }
ifHCInBroadcastPkts OBJECT-TYPE
SYNTAX Counter64
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of packets, delivered by this sub-
layer to a higher (sub-)layer, which were
addressed to a broadcast address at this sub-
Expires 8 Feb 1994 [Page 34]
Draft Interfaces Group Evolution August 1993
layer. This object is a 64-bit version of
ifInBroadcastPkts."
::= { ifXEntry 9 }
ifHCOutOctets OBJECT-TYPE
SYNTAX Counter64
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The total number of octets transmitted out of the
interface, including framing characters. This
object is a 64-bit version of ifOutOctets."
::= { ifXEntry 10 }
ifHCOutUcastPkts OBJECT-TYPE
SYNTAX Counter64
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The total number of packets that higher-level
protocols requested be transmitted, and which were
not addressed to a multicast or broadcast address
at this sub-layer, including those that were
discarded or not sent. This object is a 64-bit
version of ifOutUcastPkts."
::= { ifXEntry 11 }
ifHCOutMulticastPkts OBJECT-TYPE
SYNTAX Counter64
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The total number of packets that higher-level
protocols requested be transmitted, and which were
addressed to a multicast address at this sub-
layer, including those that were discarded or not
sent. For a MAC layer protocol, this includes
both Group and Functional addresses. This object
is a 64-bit version of ifOutMulticastPkts."
::= { ifXEntry 12 }
ifHCOutBroadcastPkts OBJECT-TYPE
SYNTAX Counter64
MAX-ACCESS read-only
STATUS current
Expires 8 Feb 1994 [Page 35]
Draft Interfaces Group Evolution August 1993
DESCRIPTION
"The total number of packets that higher-level
protocols requested be transmitted, and which were
addressed to a broadcast address at this sub-
layer, including those that were discarded or not
sent. This object is a 64-bit version of
ifOutBroadcastPkts."
::= { ifXEntry 13 }
ifLinkUpDownTrapEnable OBJECT-TYPE
SYNTAX INTEGER { enabled(1), disabled(2) }
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"Indicates whether linkUp/linkDown traps should be
generated for this interface.
By default, this object should have the value
enabled(1) for interfaces which do not operate on
'top' of any other interface (as defined in the
ifStackTable), and disabled(2) otherwise."
::= { ifXEntry 14 }
ifHighSpeed OBJECT-TYPE
SYNTAX Gauge32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"An estimate of the interface's current bandwidth
in units of 1,000,000 bits per second. If this
object reports a value of `n' then the speed of
the interface is somewhere in the range of `n-
500,000' to `n+499,999'. For interfaces which do
not vary in bandwidth or for those where no
accurate estimation can be made, this object
should contain the nominal bandwidth. For a sub-
layer which has no concept of bandwidth, this
object should be zero."
::= { ifXEntry 15 }
ifPromiscuousMode OBJECT-TYPE
SYNTAX TruthValue
MAX-ACCESS read-write
STATUS current
DESCRIPTION
Expires 8 Feb 1994 [Page 36]
Draft Interfaces Group Evolution August 1993
"This object has a value of false(2) if this
interface only accepts packets/frames that are
addressed to this station. This object has a
value of true(1) when the station accepts all
packets/frames transmitted on the media. The
value true(1) is only legal on certain types of
media. If legal, setting this object to a value
of true(1) may require the interface to be reset
before becoming effective.
The value of ifPromiscuous does not affect the
reception of broadcast and multicast
packets/frames by the interface."
::= { ifXEntry 16 }
Expires 8 Feb 1994 [Page 37]
Draft Interfaces Group Evolution August 1993
-- The Interface Stack Group
--
-- Implementation of this group is mandatory for all systems
--
ifStackTable OBJECT-TYPE
SYNTAX SEQUENCE OF IfStackEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The table containing information on the
relationships between the multiple sub-layers of
network interfaces. In particular, it contains
information on which sub-layers run 'on top of'
which other sub-layers. Each sub-layer
corresponds to a conceptual row in the ifTable."
::= { ifMIBObjects 2 }
ifStackEntry OBJECT-TYPE
SYNTAX IfStackEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Information on a particular relationship between
two sub-layers, specifying that one sub-layer runs
on 'top' of the other sub-layer. Each sub-layer
corresponds to a conceptual row in the ifTable."
INDEX { ifStackHigherLayer, ifStackLowerLayer }
::= { ifStackTable 1 }
IfStackEntry ::=
SEQUENCE {
ifStackHigherLayer Integer32,
ifStackLowerLayer Integer32,
ifStackStatus RowStatus
}
ifStackHigherLayer OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
Expires 8 Feb 1994 [Page 38]
Draft Interfaces Group Evolution August 1993
"The value of ifIndex corresponding to the higher
sub-layer of the relationship, i.e., the sub-layer
which runs on 'top' of the sub-layer identified by
the corresponding instance of ifStackLowerLayer.
If there is no higher sub-layer (below the
internetwork layer), then this object has the
value 0."
::= { ifStackEntry 1 }
ifStackLowerLayer OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The value of ifIndex corresponding to the lower
sub-layer of the relationship, i.e., the sub-layer
which runs 'below' the sub-layer identified by the
corresponding instance of ifStackHigherLayer. If
there is no lower sub-layer, then this object has
the value 0."
::= { ifStackEntry 2 }
ifStackStatus OBJECT-TYPE
SYNTAX RowStatus
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"The status of the relationship between two sub-
layers.
Changing the value of this object from 'active' to
'notInService' or 'destroy' will likely have
consequences up and down the interface stack.
Thus, write access to this object is likely to be
inappropriate for some types of interfaces, and
many implementations will choose not to support
write-access for any type of interface."
::= { ifStackEntry 3 }
Expires 8 Feb 1994 [Page 39]
Draft Interfaces Group Evolution August 1993
--
-- The Interface Test Table
--
-- This group of objects is optional. However, a media-specific
-- MIB may make implementation of this group mandatory.
--
-- This table replaces the ifExtnsTestTable
--
ifTestTable OBJECT-TYPE
SYNTAX SEQUENCE OF IfTestEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"This table contains one entry per interface. It
defines objects which allow a network manager to
instruct an agent to test an interface for various
faults. Tests for an interface are defined in the
media-specific MIB for that interface. After
invoking a test, the object ifTestResult can be
read to determine the outcome. If an agent can
not perform the test, ifTestResult is set to so
indicate. The object ifTestCode can be used to
provide further test-specific or interface-
specific (or even enterprise-specific) information
concerning the outcome of the test. Only one test
can be in progress on each interface at any one
time. If one test is in progress when another
test is invoked, the second test is rejected.
Some agents may reject a test when a prior test is
active on another interface.
Before starting a test, a manager-station must
first obtain 'ownership' of the entry in the
ifTestTable for the interface to be tested. This
is accomplished with the ifTestId and ifTestStatus
objects as follows:
try_again:
get (ifTestId, ifTestStatus)
while (ifTestStatus != notInUse)
/*
* Loop while a test is running or some other
* manager is configuring a test.
*/
Expires 8 Feb 1994 [Page 40]
Draft Interfaces Group Evolution August 1993
short delay
get (ifTestId, ifTestStatus)
}
/*
* Is not being used right now -- let's compete
* to see who gets it.
*/
lock_value = ifTestId
if ( set(ifTestId = lock_value, ifTestStatus = inUse,
ifTestOwner = 'my-IP-address') == FAILURE)
/*
* Another manager got the ifTestEntry -- go
* try again
*/
goto try_again;
/*
* I have the lock
*/
set up any test parameters.
/*
* This starts the test
*/
set(ifTestType = test_to_run);
wait for test completion by polling ifTestResult
when test completes, agent sets ifTestResult
agent also sets ifTestStatus = 'notInUse'
retrieve any additional test results, and ifTestId
if (ifTestId == lock_value+1) results are valid
A manager station first retrieves the value of the
appropriate ifTestId and ifTestStatus objects,
periodically repeating the retrieval if necessary,
until the value of ifTestStatus is 'notInUse'. The
manager station then tries to set the same ifTestId
object to the value it just retrieved, the same
ifTestStatus object to 'inUse', and the
corresponding ifTestOwner object to a value
Expires 8 Feb 1994 [Page 41]
Draft Interfaces Group Evolution August 1993
indicating itself. If the set operation succeeds
then the manager has obtained ownership of the
ifTestEntry, and the value of the ifTestId object
is incremented by the agent (per the semantics of
TestAndIncr). Failure of the set operation
indicates that some other manager has obtained
ownership of the ifTestEntry.
Once ownership is obtained, any test parameters can
be setup, and then the test is initiated by setting
ifTestType. On completion of the test, the agent
sets ifTestStatus to 'notInUse'. Once this occurs,
the manager can retrieve the results. In the
(rare) event that the invocation of tests by two
network managers were to overlap, then there would
be a possibility that the first test's results
might be overwritten by the second test's results
prior to the first results being read. This
unlikely circumstance can be detected by a network
manager retrieving ifTestId at the same time as
retrieving the test results, and ensuring that the
results are for the desired request.
If ifTestType is not set within an abnormally long
period of time after ownership is obtained, the
agent should time-out the manager, and reset the
value of the ifTestStatus object back to
'notInUse'. It is suggested that this time-out
period be 5 minutes.
In general, a Management station must not
retransmit a request to invoke a test for which it
does not receive a response; instead, it properly
inspects an agent's MIB to determine if the
invocation was successful. Only if the invocation
was unsuccessful, is the invocation request
retransmitted.
Some tests may require the interface to be taken
off-line in order to execute them, or may even
require the agent to reboot after completion of the
test. In these circumstances, communication with
the management station invoking the test may be
lost until after completion of the test. The agent
should make every effort to transmit a response to
Expires 8 Feb 1994 [Page 42]
Draft Interfaces Group Evolution August 1993
the request which invoked the test prior to losing
communication. When the agent is restored to
normal service, the results of the test are
properly made available in the appropriate objects.
Note that this requires that the ifIndex value
assigned to an interface must be unchanged even if
the test causes a reboot. An agent must reject any
test for which it cannot, perhaps due to resource
constraints, make available at least the minimum
amount of information after that test completes."
::= { ifMIBObjects 3 }
ifTestEntry OBJECT-TYPE
SYNTAX IfTestEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry containing objects for invoking tests on
an interface."
AUGMENTS { ifEntry }
::= { ifTestTable 1 }
IfTestEntry ::=
SEQUENCE {
ifTestId TestAndIncr,
ifTestStatus INTEGER,
ifTestType AutonomousType,
ifTestResult INTEGER,
ifTestCode OBJECT IDENTIFIER,
ifTestOwner OwnerString
}
ifTestId OBJECT-TYPE
SYNTAX TestAndIncr
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"This object identifies the current invocation of
the interface's test."
::= { ifTestEntry 1 }
ifTestStatus OBJECT-TYPE
SYNTAX INTEGER { notInUse(1), inUse(2) }
MAX-ACCESS read-write
STATUS current
Expires 8 Feb 1994 [Page 43]
Draft Interfaces Group Evolution August 1993
DESCRIPTION
"This object indicates whether or not a manager
currently has the necessary 'ownership' required
to invoke a test on this interface. A write to
this object is only successful when it changes its
value from 'notInUse(1)' to 'inUse(2)'. After
completion of a test, the agent resets the value
back to 'notInUse(1)'."
::= { ifTestEntry 2 }
ifTestType OBJECT-TYPE
SYNTAX AutonomousType
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"A control variable used to start and stop
operator-initiated interface tests. Most OBJECT
IDENTIFIER values assigned to tests are defined
elsewhere, in association with specific types of
interface. However, this document assigns a value
for a full-duplex loopback test, and defines the
special meanings of the subject identifier:
noTest OBJECT IDENTIFIER ::= { 0 0 }
When the value noTest is written to this object,
no action is taken unless a test is in progress,
in which case the test is aborted. Writing any
other value to this object is only valid when no
test is currently in progress, in which case the
indicated test is initiated.
When read, this object always returns the most
recent value that ifTestType was set to. If it
has not been set since the last initialization of
the network management subsystem on the agent, a
value of noTest is returned."
::= { ifTestEntry 3 }
ifTestResult OBJECT-TYPE
SYNTAX INTEGER {
none(1), -- no test yet requested
success(2),
inProgress(3),
notSupported(4),
Expires 8 Feb 1994 [Page 44]
Draft Interfaces Group Evolution August 1993
unAbleToRun(5), -- due to state of system
aborted(6),
failed(7)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This object contains the result of the most
recently requested test, or the value none(1) if
no tests have been requested since the last reset.
Note that this facility provides no provision for
saving the results of one test when starting
another, as could be required if used by multiple
managers concurrently."
::= { ifTestEntry 4 }
ifTestCode OBJECT-TYPE
SYNTAX OBJECT IDENTIFIER
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This object contains a code which contains more
specific information on the test result, for
example an error-code after a failed test. Error
codes and other values this object may take are
specific to the type of interface and/or test.
The value may have the semantics of either the
AutonomousType or InstancePointer textual
conventions as defined in RFC 1443. The
identifier:
testCodeUnknown OBJECT IDENTIFIER ::= { 0 0 }
is defined for use if no additional result code is
available."
::= { ifTestEntry 5 }
ifTestOwner OBJECT-TYPE
SYNTAX OwnerString
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"The entity which currently has the 'ownership'
required to invoke a test on this interface."
::= { ifTestEntry 6 }
Expires 8 Feb 1994 [Page 45]
Draft Interfaces Group Evolution August 1993
-- Generic Receive Address Table
--
-- This group of objects is mandatory for all types of
-- interfaces which can receive packets/frames addressed to
-- more than one address.
--
-- This table replaces the ifExtnsRcvAddr table. The main
-- difference is that this table makes use of the RowStatus
-- textual convention, while ifExtnsRcvAddr did not.
ifRcvAddressTable OBJECT-TYPE
SYNTAX SEQUENCE OF IfRcvAddressEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"This table contains an entry for each address
(broadcast, multicast, or uni-cast) for which the
system will receive packets/frames on a particular
interface, except as follows:
- for an interface operating in promiscuous mode,
entries are only required for those addresses for
which the system would receive frames were it not
operating in promiscuous mode.
- for 802.5 functional addresses, only one entry
is required, for the address which has the
functional address bit ANDed with the bit mask of
all functional addresses for which the interface
will accept frames."
::= { ifMIBObjects 4 }
ifRcvAddressEntry OBJECT-TYPE
SYNTAX IfRcvAddressEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of objects identifying an address for
which the system will accept packets/frames on the
particular interface identified by the index value
ifIndex."
INDEX { ifIndex, ifRcvAddressAddress }
::= { ifRcvAddressTable 1 }
IfRcvAddressEntry ::=
Expires 8 Feb 1994 [Page 46]
Draft Interfaces Group Evolution August 1993
SEQUENCE {
ifRcvAddressAddress PhysAddress,
ifRcvAddressStatus RowStatus,
ifRcvAddressType INTEGER
}
ifRcvAddressAddress OBJECT-TYPE
SYNTAX PhysAddress
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"An address for which the system will accept
packets/frames on this entry's interface."
::= { ifRcvAddressEntry 1 }
ifRcvAddressStatus OBJECT-TYPE
SYNTAX RowStatus
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"This object is used to create and delete rows in
the ifRcvAddressTable."
::= { ifRcvAddressEntry 2 }
ifRcvAddressType OBJECT-TYPE
SYNTAX INTEGER {
other(1),
volatile(2),
nonVolatile(3)
}
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"This object has the value nonVolatile(3) for
those entries in the table which are valid and
will not be deleted by the next restart of the
managed system. Entries having the value
volatile(2) are valid and exist, but have not been
saved, so that will not exist after the next
restart of the managed system. Entries having the
value other(1) are valid and exist but are not
classified as to whether they will continue to
exist after the next restart."
Expires 8 Feb 1994 [Page 47]
Draft Interfaces Group Evolution August 1993
DEFVAL { volatile }
::= { ifRcvAddressEntry 3 }
Expires 8 Feb 1994 [Page 48]
Draft Interfaces Group Evolution August 1993
-- conformance information
ifConformance OBJECT IDENTIFIER ::= { ifMIB 2 }
ifGroups OBJECT IDENTIFIER ::= { ifConformance 1 }
ifCompliances OBJECT IDENTIFIER ::= { ifConformance 2 }
-- compliance statements
ifCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"The compliance statement for SNMPv2 entities
which have network interfaces."
MODULE -- this module
MANDATORY-GROUPS { ifGeneralGroup, ifStackGroup }
GROUP ifCharacterGroup
DESCRIPTION
"This group is mandatory for all network
interfaces which are character-oriented or
packet-oriented."
GROUP ifHCCharacterGroup
DESCRIPTION
"This group is mandatory only for those network
interfaces which are character-oriented or
packet-oriented, and for which the value of the
corresponding instance of ifSpeed is greater than
20,000,000 bits/second."
GROUP ifPacketGroup
DESCRIPTION
"This group is mandatory for all network
interfaces which are packet-oriented."
GROUP ifHCPacketGroup
DESCRIPTION
"This group is mandatory only for those network
interfaces which are packet-oriented and for which
the value of the corresponding instance of ifSpeed
is greater than 600,000,000 bits/second."
Expires 8 Feb 1994 [Page 49]
Draft Interfaces Group Evolution August 1993
GROUP ifTestGroup
DESCRIPTION
"This group is optional. Media-specific MIBs
which require interface tests are strongly
encouraged to use this group for invoking tests
and reporting results. A medium specific MIB
which has mandatory tests may make implementation
of this group mandatory."
GROUP ifRcvAddressGroup
DESCRIPTION
"The applicability of this group MUST be defined
by the media-specific MIBs. Media-specific MIBs
must define the exact meaning, use, and semantics
of the addresses in this group."
OBJECT ifPromiscuousMode
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required."
OBJECT ifStackStatus
SYNTAX INTEGER { active(1) } -- subset of RowStatus
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required, and only one of the
six enumerated values for the RowStatus textual
convention need be supported, specifically:
active(1)."
OBJECT ifAdminStatus
SYNTAX INTEGER { up(1), down(2) }
DESCRIPTION
"Implementations are not required to support the
value testing(3)."
::= { ifCompliances 1 }
Expires 8 Feb 1994 [Page 50]
Draft Interfaces Group Evolution August 1993
-- units of conformance
ifGeneralGroup OBJECT-GROUP
OBJECTS { ifDescr, ifType, ifSpeed, ifPhysAddress,
ifAdminStatus, ifOperStatus, ifLastChange,
ifSpecific, ifLinkUpDownTrapEnable,
ifHighSpeed }
STATUS current
DESCRIPTION
"A collection of objects providing information
applicable to all network interfaces."
::= { ifGroups 1 }
ifCharacterGroup OBJECT-GROUP
OBJECTS { ifInOctets, ifOutOctets }
STATUS current
DESCRIPTION
"A collection of objects providing information
specific to packet-oriented or character-oriented
network interfaces."
::= { ifGroups 2 }
ifHCCharacterGroup OBJECT-GROUP
OBJECTS { ifHCInOctets, ifHCOutOctets }
STATUS current
DESCRIPTION
"A collection of objects providing information
specific to high speed (greater than 20,000,000
bits/second) packet-oriented or character-oriented
network interfaces."
::= { ifGroups 3 }
ifPacketGroup OBJECT-GROUP
OBJECTS { ifMtu, ifInUcastPkts, ifInMulticastPkts,
ifInBroadcastPkts, ifInDiscards, ifInErrors,
ifInUnknownProtos, ifOutUcastPkts,
ifOutMulticastPkts, ifOutBroadcastPkts,
ifOutDiscards, ifOutErrors, ifPromiscuousMode }
STATUS current
DESCRIPTION
"A collection of objects providing information
specific to packet-oriented network interfaces."
::= { ifGroups 4 }
ifHCPacketGroup OBJECT-GROUP
Expires 8 Feb 1994 [Page 51]
Draft Interfaces Group Evolution August 1993
OBJECTS { ifHCInUcastPkts, ifHCInMulticastPkts,
ifHCInBroadcastPkts, ifHCOutUcastPkts,
ifHCOutMulticastPkts, ifHCOutBroadcastPkts
}
STATUS current
DESCRIPTION
"A collection of objects providing information
specific to high speed (greater than 600,000,000
bits/second) packet-oriented network interfaces."
::= { ifGroups 5 }
ifRcvAddressGroup OBJECT-GROUP
OBJECTS { ifRcvAddressStatus, ifRcvAddressType }
STATUS current
DESCRIPTION
"A collection of objects providing information on
the multiple addresses which an interface
receives."
::= { ifGroups 6 }
ifTestGroup OBJECT-GROUP
OBJECTS { ifTestId, ifTestStatus, ifTestType,
ifTestResult, ifTestCode, ifTestOwner }
STATUS current
DESCRIPTION
"A collection of objects providing the ability to
invoke tests on an interface."
::= { ifGroups 7 }
ifStackGroup OBJECT-GROUP
OBJECTS { ifStackStatus }
STATUS current
DESCRIPTION
"A collection of objects providing information on
the layering of MIB-II interfaces."
::= { ifGroups 8 }
END
Expires 8 Feb 1994 [Page 52]
Draft Interfaces Group Evolution August 1993
6. Acknowledgements
This memo has been produced by the IETF's Interfaces MIB
working-group. The initial proposal to the working-group was
the result of conversations and discussions with many people,
including at least the following: Fred Baker, Ted Brunner,
Chuck Davin, Jeremy Greene, Marshall Rose, Kaj Tesink, and
Dean Throop.
Expires 8 Feb 1994 [Page 53]
Draft Interfaces Group Evolution August 1993
7. References
[1] J. Case, K. McCloghrie, M. Rose, and S. Waldbusser,
Structure of Management Information for version 2 of the
Simple Network Management Protocol (SNMPv2), Request for
Comments 1442, April 1993.
[2] J. Galvin, K. McCloghrie, Administrative Model for
version 2 of the Simple Network Management Protocol
(SNMPv2), Request for Comments 1448, April 1993.
[3] J. Case, K. McCloghrie, M. Rose, and S. Waldbusser,
Protocol Operations for version 2 of the Simple Network
Management Protocol (SNMPv2), Request for Comments 1448,
April 1993.
[4] K. McCloghrie and M.T. Rose, Management Information Base
for Network Management of TCP/IP-based internets - MIB-
II, Request for Comments 1213. March 1991.
[5] J.D. Case, M.S. Fedor, M.L. Schoffstall, and J.R. Davin,
Simple Network Management Protocol, Request for Comments
1157. May 1990.
[6] J. Postel, Internet Protocol, Request for Comments 791,
September 1981.
[7] K. McCloghrie, Extensions to the Generic-Interface MIB,
Request for Comments 1229, May 1991.
Expires 8 Feb 1994 [Page 54]
Draft Interfaces Group Evolution August 1993
8. Security Considerations
Security issues are not discussed in this memo.
9. Authors' Address
Keith McCloghrie
Hughes LAN Systems
1225 Charleston Rd,
Mountain View, Ca 94043
415-966-7934
kzm@hls.com
Frank Kastenholz
FTP Software
2 High Street
North Andover, Mass. USA 01845
(508)685-4000
kasten@ftp.com
Expires 8 Feb 1994 [Page 55]
Draft Interfaces Group Evolution August 1993
Table of Contents
1 Introduction .......................................... 2
1.1 Change Log .......................................... 2
2 The SNMPv2 Network Management Framework ............... 5
2.1 Object Definitions .................................. 5
3 Experience with the Interfaces Group .................. 6
3.1 Areas of Clarification/Revision ..................... 6
3.1.1 Interface Numbering ............................... 6
3.1.2 Interface Sub-Layers .............................. 7
3.1.3 Virtual Circuits .................................. 8
3.1.4 Bit and Character Oriented Interfaces ............. 8
3.1.5 Counter Size ...................................... 9
3.1.6 Interface Speed ................................... 9
3.1.7 Multicast/Broadcast Counters ...................... 9
3.1.8 Output Queue ...................................... 9
3.2 Clarifications/Revisions ............................ 9
3.2.1 Interface Numbering ............................... 10
3.2.2 Interface Sub-Layers .............................. 11
3.2.3 Virtual Circuits .................................. 14
3.2.4 Bit and Character Oriented Interfaces ............. 14
3.2.5 Counter Size ...................................... 15
3.2.6 Interface Speed ................................... 17
3.2.7 Multicast/Broadcast Counters ...................... 18
3.2.8 Output Queue ...................................... 19
3.2.9 Trap Enable ....................................... 19
3.3 Media-Specific MIB Applicability .................... 19
4 The Interface Test Table .............................. 20
5 Definitions ........................................... 21
6 Acknowledgements ...................................... 53
7 References ............................................ 54
8 Security Considerations ............................... 55
9 Authors' Address ...................................... 55
Expires 8 Feb 1994 [Page 56]